package com.one.service;

import com.one.bean.Cart;
import com.one.vo.ProductParamVo;

import java.util.List;

/**
 * Create on 2022-01-20
 * <p>
 * Author: LiangWei
 * <p>
 * Description: 购物车接口
 **/
public interface CartService {
    /**
     *@author : LiangWei
     *@date : 2022-01-20 08:47
     *@return : int
     *@description : 添加单件商品进入购物车
     */
    int addProductToCart(Integer userId,ProductParamVo productParamVo);
    /**
     *@author : LiangWei
     *@date : 2022-01-20 08:47
     *@return : int
     *@description : 删除单个购物车
     */
    int deleteProductFromCart(Integer userId,Integer cartId);
    /**
     *@author : LiangWei
     *@date : 2022-01-20 08:47
     *@return : int
     *@description : 批量删除购物车
     */
    int deleteManyProductsFromCart(List<Integer> cartIdList);

    /**
     *@author : LiangWei
     *@date : 2022-01-20 08:47
     *@return : int
     *@description : 查询购物车所有内容
     */
    List<Cart> selectAllCartsByUserId(Integer userId);

    /**
     *@author : LiangWei
     *@date : 2022-01-20 08:47
     *@return : int
     *@description : 清空购物车所有内容
     */
    int deleteAllCartsByUserId(Integer userId);

    /**
     *@author : LiangWei
     *@date : 2022-01-20 09:29
     *@return :
     *@description : 修改商品的数量
     */
    int updateProductNumByCartId(Integer productNum,Integer cartId);

    /**
     *@author : LiangWei
     *@date : 2022-01-20 09:31
     *@return :
     *@description : 移入搜藏夹
     */
    int moveToCollectByUserIdAndProductId(Integer userId,Integer productId);

    /**
     *@author : LiangWei
     *@date : 2022-01-22 11:46
     *@return :
     *@description : 根据购物车id查询购物车内容
     */
    Cart selectOneCartByCartId(Integer cartId);
}
